通常我在我的C++代码中插入一个assert(0);,启动Windbg,按F5,输入k然后我得到一个堆栈跟踪。然后我必须通过鼠标复制粘贴它并退出。但我想将其自动化。有什么方法可以检索堆栈跟踪并将其写入文本文件而无需手动使用GUI? 最佳答案 首先,您可以像这样使用.logopen将gui的输出写入文本文件.logopenc:\dump\myLog.txt这会将所有内容转储到此位置,调用.logclose以在一行中关闭日志:.logopenc:\dump\myLog.txt;k;.logclose其次,如果你真的不想使用gui,还有命
尝试在WinDbg中执行基于线程的命令。安装程序是具有XP的VMWare,主机是Win7。基于this,试图调试应用程序挂起。但是无法从中获取任何信息。对于简单的tilda(~)它给出了语法错误。我需要做一些不同的设置才能执行这些命令吗?无论如何,这些“特殊”吗?因为我可以使用其他命令。基本上我希望WinDbg让我监控线程的状态?例如等待响应、发送请求或类似的事情。 最佳答案 ~仅为用户模式调试更改线程上下文。对于krnelmkode调试,请参阅帮助:。线。过程!线!过程 关于windo
我收到一份WER报告,说我们的.net应用程序在某台机器上崩溃了,我得到了崩溃的转储文件,但我尝试了很多方法,阅读了很多关于调试.net崩溃的文章,但仍然没有运气,我什至无法运行sos.dll提供的扩展命令,我总是收到以下消息“找不到运行时DLL(clr.dll),0x80004005扩展命令需要clr.dll才能执行某些操作。”我想知道如何知道那台机器上的.net框架版本?因为非扩展命令可以工作!!请帮忙!!当我使用“lm”命令列出所有加载的模块时,我没有在模块列表中找到“clr”或“clrjit”模块,这是否意味着我的应用程序在崩溃之前实际上没有运行,可以我说机器上的.net框架坏
您好,我正在尝试使用WinDbg查看memory.dmp内核转储文件,以诊断崩溃。当我打开崩溃文件并获取符号时,我收到消息BugCheckA,{2,ff,4e,fffff801a42ebff2}CompressedPageDataReaderwarning:failedtoget_SM_PAGE_KEYsymbol.CompressedPageDataReaderwarning:failedtoget_SM_PAGE_KEYsymbol.Probablycausedby:ntkrnlmp.exe(nt!KxWaitForLockOwnerShipWithIrql+12)Followup
我正在尝试追踪Windows中C++应用程序中的内存泄漏,并且我得到了包含大量泄漏对象的应用程序的内存转储。我正在使用Windbg通过执行以下操作来追踪它们://Getheapstats!heap-s这显示了以下内容:HeapFlagsReservCommitVirtFreeListUCRVirtLockFast(k)(k)(k)(k)lengthblockscont.heap-----------------------------------------------------------------------------00150000000000021024272272202
我想捕获有时会停止响应几分钟的应用程序的堆栈跟踪。当应用程序停止响应时,windows桌面也停止响应鼠标点击,尽管此时其他一些已经运行的应用程序工作正常(例如windbg工作正常,ProcessExplorer刷新其屏幕,但不响应鼠标事件).虽然应用程序没有响应,但它实际上占用了一个CPU内核的大约80%。这就是我想要获得堆栈跟踪的原因。行为不端的应用程序通常需要大约2-3分钟才能完成其奇怪的工作,或者如果按下Ctrl+Esc,它会立即响应(当然还会打开开始菜单...)我将WinDbg附加到行为不当的应用程序,当我发出Break命令时,直到应用程序开始再次响应时才会发生入侵。据我所知,
我正在尝试使用WinDbg调试一款名为“Ballmaster”的非常古老的游戏(我没有其源代码)。当显示对话框时,我将WinDbg附加到游戏中,这样UI线程的调用堆栈就不会改变。以下是正在运行的线程列表:当我点击Ballmasterthread,呈现如下调用栈:ntdll!NtDelayExecution+0xcKERNELBASE!SleepEx+0x99KERNELBASE!Sleep+0xfUSER31!HookedCreateWindowExA+0x41DlgBox!Ordinal49+0x35ddDlgBox!Ordinal49+0x4d58uxtheme!ThemePreD
有没有一种方法可以定义自定义代码(带有消息/描述等),以便在Windows的内核模式驱动程序中调用KeBugCheckEx来发出自定义BugCheck代码,WinDbg显示该自定义错误检查代码附带的关联消息? 最佳答案 有关已知错误检查代码的文本被编译到其中一个扩展DLL中。据我所知,这不是可以通过任何一种简单的方式扩展的东西(即你不能只在文件的某个地方添加文本)。 关于windows-在WinDbg中定义自定义错误检查代码,我们在StackOverflow上找到一个类似的问题:
我的Web应用程序中一直有“AwSnap”。在HowdoIdebugatabcrashinGoogleChrome的帮助下使用windbg我试图找出问题所在。到目前为止我完成的步骤:从Crashes目录中得到一个.dmp文件加载到windbg设法查看堆栈(使用“k”)尝试!analyze时没有显示任何有意义的内容我需要什么才能看到导致崩溃的模块如何从这里进步?编辑:有一个错字。"!analyze-v"的工作类似于:kb、dd、.exr、.cxr、kv对于所有ChromeAwSnappers-!analyze-v就是你要找的信息如下...0:000>!analyze***********
我正在尝试调试我编写的应用程序的转储文件。我将以下符号路径添加到WinDbg我假设这会下载调试它所必需的Windows符号。然后我在WinDbg中运行以下命令“!analyze-v”这开始分析,然后由于找不到符号而失败。当我查看C:\MyServerSymbols时,我看到以下内容我希望看到的不仅仅是kernelbase.dll分析命令提示找不到ntdll符号。下面是它给我的完整输出。有谁知道如何获取它需要的符号吗?0:001>!analyze-v**********************************************************************